package com.inno.life.domain.config;

import com.github.houbb.sensitive.word.bs.SensitiveWordBs;
import com.inno.life.domain.sensitive.MyWordDeny;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author sean
 * 自定义敏感词Bean
 */
@Slf4j
@Configuration
public class SensitiveWordBsConfigure {
    @Resource
    private MyWordDeny myWordDeny;
    @Bean
    public SensitiveWordBs customSensitiveWordBs(){
        SensitiveWordBs init = SensitiveWordBs.newInstance()
                // 忽略大小写
                .ignoreCase(false)
                // 忽略半角圆角
                .ignoreWidth(false)
                // 忽略数字的写法
                .ignoreNumStyle(false)
                // 忽略中文的书写格式：简繁体
                .ignoreChineseStyle(false)
                // 忽略英文的书写格式
                .ignoreEnglishStyle(false)
                // 忽略重复词
                .ignoreRepeat(false)
                // 是否启用数字检测
                .enableNumCheck(false)
                // 是否启用邮箱检测
                .enableEmailCheck(false)
                // 是否启用链接检测
                .enableUrlCheck(false)
                // 数字检测，自定义指定长度
                .numCheckLen(8)
                // 配置自定义敏感词
                .wordDeny(myWordDeny)
                .init();
        if (log.isInfoEnabled()){
            log.info("自定义SensitiveWordBs加载完成：{}",init);
        }
        return init;
    }
}
